FIG. 1 is a block diagram of a data communication system. Frames are transferred over a communications link 104 between a transmitter 100 and a receiver 102. A physical (PHY) layer 108 performs physical transmit and receive functions over the communications link 104. A Media Access Control (MAC) layer 106 assembles data received from higher network layers (through data in/data out) into a frame for transmission and dis-assembles frames received from the physical layer 108. In addition to the data, each frame also includes a header that includes control information such as, source and destination addresses.
Data is transferred over the communications link 104 using a standard protocol. One popular standard protocol is the Institute of Electrical and Electronics Engineers (IEEE) 802.11 Media Access Control and physical layer protocol. The IEEE 802.11a, IEEE 802.11b and IEEE 802.11g standards define different modulation formats that can be used by an IEEE 802.11 compliant system.
In a connection orientated network protocol such as the IEEE 802.11 standard, an acknowledgment is sent from the receiver, in response to a received frame, to indicate successful delivery of the frame. FIG. 2 illustrates acknowledgement of frames 200 transmitted over the communications link 104 shown in FIG. 1. Each frame 200 includes a payload (F) 204 and a header 202. The overhead (O) 208 is the time between transmission of payloads 204. The overhead 208 in the IEEE 802.11 standard includes frame preamble and header bits 202, inter-frame spacing requirements 210, and acknowledgement frames 212 transmitted by the receiver 102.
If the transmitter from which the frame was transmitted does not receive an acknowledgement within a particular time period, the transmitter re-transmits the frame until an acknowledgement is received or the maximum number of re-transmissions has been reached. The larger the frame, the higher the probability of incurring an error because all bits must be transmitted correctly for the entire frame to be received correctly.
A Bit Error Rate (BER) (the percentage of error bits relative to the number of bits transmitted) characterizes the reliability of the communications link. For example, a bit error rate of 10−4 indicates one error bit in every 10,000 bits transmitted. Typically wireless networks are less reliable then wired networks.
To reduce the probability of incurring an error, some network protocols including the IEEE 802.11 standard permit large blocks of data to be broken into fragments by the transmitter dependent on a selected fragmentation threshold. Each fragment is transmitted and acknowledged individually and the fragments are reassembled by the receiver.
The IEEE 802.11 standard defines a fragmentation and de-fragmentation procedure for unicast frames; that is, frames that are transmitted from a single sender to a single receiver. The fragmentation and de-fragmentation procedure is performed by the MAC layer 106. Data to be transmitted from the transmitter 100 to the receiver 102 using the IEEE 802.11 standard is received by the MAC layer 106 in the transmitter 100 in the form of a MAC Service Data Unit (MSDU).
FIG. 3 illustrates fragmentation of an IEEE 802.11 MSDU 300 into three fragments 302a-c. If the number of bits in the MSDU to be transmitted to the physical layer is larger than a selected fragmentation threshold, the MAC layer 106 breaks the MSDU 300 into smaller chunks and transmits each chunk independently through the physical layer in a frame body 304 of a separate fragment 302a-c preceded by a header 306 and followed by a trailer 308. A fragmentation threshold defines the number of bits stored in the frame body 304 of the fragment 302a-c. 
FIG. 4 is a block diagram of an IEEE 802.11 fragment 400 including a header 306 preceding the frame body 304 and a trailer (Frame Check Sequence (FCS)) 308 after the frame body. The header 306 includes a frame sequence number field 414 and a fragment number field 412. Fragments associated with an MSDU are typically transmitted in a single fragment burst. Each fragment transmitted in a fragment burst has the same frame sequence number but has an ascending fragment number allowing fragments to be reassembled by the receiver.
The frame control field 402 includes frame type and control information. The duration/connection identifier field 404 stores the channel allocation time. The address fields 406, 408, 410, 416 store addresses including the source address and the destination address. The frame body 304 stores a chunk of the MSDU 300 received by the MAC layer 106. The frame check sequence field 308 stores a 32 bit Cyclic Redundancy Check for the fragment 400.
FIG. 5 illustrates the transmission of the fragments 302a-c shown in FIG. 3 in a single fragment burst 500. Upon receipt of a fragment, the receiver returns an acknowledgement (ACK) frame 502a-c to acknowledge receipt of the frame. If no ACK frame 502a-c is received in reply to a transmitted fragment 302a-c, the transmitter re-transmits the fragment 302a-c until an ACK frame 502a-c is received or the maximum number of re-transmissions of the fragment 302a-c has been reached.
Transmitting a plurality of fragments 302a-c each storing a portion of the MSDU 300 instead of the MSDU 300 increases the probability of a successful transmission in cases where the channel reliability is limited and allows a smaller fragment to be repeatedly re-transmitted if necessary.
Data throughput over a link is dependent on the size of re-transmitted frames and the protocol overhead associated with each frame. The probability of losing a fragment over an error prone communications link decreases as the size of the fragment decreases. However, protocol overhead increases because additional overhead is required for each fragment reducing the effective data throughput.